package ie.dkit.semanticPhotoWeb.server.persistence.storageObjects;

import java.util.Collection;

/**
 * @author Sebastian Ruehl
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 * Place, Suite 330, Boston, MA 02111-1307 USA
 */
public interface PictureRelationDAO {
	/**
	 * get all relations
	 * @return
	 */
	Collection<PictureRelation> getPictureRelations();

	/**
	 * Find a relation by id
	 * @param id
	 * @return
	 */
	PictureRelation findPictureRelationById(int id);
	
	/**
	 * get linked relation
	 * @param imageID
	 * @return
	 */
	Collection<PictureRelation> getLinkedPictures(String imageID);
	
	/**
	 * get referring relation
	 * @param imageID
	 * @return
	 */
	Collection<PictureRelation> getReferringPictures(String imageID);
	
	/**
	 * find all relations speciefied by imageId
	 * @param imageID
	 * @return
	 */
	Collection<PictureRelation>	findAllRelationsWithContainingPictureID(String imageID);

	/**
	 * save a relation
	 * @param pictureRelation
	 */
	void save(PictureRelation pictureRelation);

	/**
	 * delete a relation
	 * @param pictureRelation
	 */
	void delete(PictureRelation pictureRelation);
}
